package org.jeecg.modules.business.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 团队预定批次
 * @Author: jeecg-boot
 * @Date:   2023-03-25
 * @Version: V1.0
 */
@Data
@TableName("bus_booking_batch_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bus_booking_batch_info对象", description="团队预定批次")
public class BusBookingBatch implements Serializable {
    private static final long serialVersionUID = 1L;

	/**key*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "key")
    private String id;
	/**批次号*/
	@Excel(name = "批次号", width = 15)
    @ApiModelProperty(value = "批次号")
    private String batchNo;
	/**预计抵达时间*/
	@Excel(name = "预计抵达时间", width = 15, format = "yyyy-MM-dd HH:mm")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "预计抵达时间")
    private Date arrivalTime;
	/**预离时间*/
	@Excel(name = "预离时间", width = 15, format = "yyyy-MM-dd HH:mm")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "预离时间")
    private Date dueOutTime;
	/**入住天数*/
	@Excel(name = "入住天数", width = 15)
    @ApiModelProperty(value = "入住天数")
    private Integer dayCount;
	/**关联的订单团队预定订单id*/
	@Excel(name = "关联的订单团队预定订单id", width = 15)
    @ApiModelProperty(value = "关联的订单团队预定订单id")
    private String bookingOrdersId;


    /**早餐数量*/
    @Excel(name = "早餐数量", width = 15)
    @ApiModelProperty(value = "早餐数量")
    private Integer breakfastNum;
    /**午餐数量*/
    @Excel(name = "午餐数量", width = 15)
    @ApiModelProperty(value = "午餐数量")
    private Integer lunchNum;
    /**晚餐数量*/
    @Excel(name = "晚餐数量", width = 15)
    @ApiModelProperty(value = "晚餐数量")
    private Integer dinnerNum;
    /**客人类型；1、散客；2、会员；3、协议单位；4、中介*/
    @Excel(name = "客人类型；1、散客；2、会员；3、协议单位；4、中介", width = 15)
    @ApiModelProperty(value = "客人类型；1、散客；2、会员；3、协议单位；4、中介")
    private Integer customerType;
    /**客人类型为会员时的会员id*/
    @Excel(name = "客人类型为会员时的会员id", width = 15)
    @ApiModelProperty(value = "客人类型为会员时的会员id")
    private String vipCustomerId;

    /**客人类型为协议单位时的协议单位id*/
    @Excel(name = "客人类型为协议单位时的协议单位id", width = 15)
    @ApiModelProperty(value = "客人类型为协议单位时的协议单位id")
    private String contractTeamId;
    /**选择协议单位之后选择协议合同的id*/
    @Excel(name = "选择协议单位之后选择协议合同的id", width = 15)
    @ApiModelProperty(value = "选择协议单位之后选择协议合同的id")
    private String contractTeamProtocolId;

    /**房价方案ID*/
    @Excel(name = "房价方案ID", width = 15)
    @ApiModelProperty(value = "房价方案ID")
    private String roomPriceSlnId;
    /**中介名称*/
    @Excel(name = "中介名称", width = 15)
    @ApiModelProperty(value = "中介名称")
    private String agencyName;
    /**联系人ID*/
    @Excel(name = "联系人ID", width = 15)
    @ApiModelProperty(value = "联系人ID")
    private String contactId;

    /**担保方式；1、无担保；2、有担保；3、OTA担保*/
    @Excel(name = "担保方式；1、无担保；2、有担保；3、OTA担保", width = 15)
    @ApiModelProperty(value = "担保方式；1、无担保；2、有担保；3、OTA担保")
    private Integer warrantType;

    /**担保人ID*/
    @Excel(name = "担保人ID", width = 15)
    @ApiModelProperty(value = "担保人ID")
    private String warranter;
    /**外部订单编号*/
    @Excel(name = "外部订单编号", width = 15)
    @ApiModelProperty(value = "外部订单编号")
    private String outerOrdersNo;

    /**钟点房计费项目id*/
    @Excel(name = "钟点房计费项目id", width = 15)
    @ApiModelProperty(value = "钟点房计费项目id")
    private String hourRoomId;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**预定记录状态；1 正常  2 取消*/
    @Excel(name = "预定记录状态；1 正常  2 取消", width = 15)
    @ApiModelProperty(value = "预定记录状态；1 正常  2 取消")
    private Integer bookingStatus;

    private String customerSource;
    private Integer bookingType;
    private String bookingDicWay;
    private Date createTime;
    private String createUser;









}
